package rim;

import datatypes.r2.basic.CD;
import datatypes.r2.collectionsofquantities.IVL;
import datatypes.r2.quantities.MO;
import datatypes.r2.quantities.RTO;

/**
 * Definition of Account:
 * 
 * A set of financial transactions that are tracked and reported together with a
 * single balance.
 * 
 * 一套是跟踪和报告一起用一个平衡的金融交易。
 * 
 * 
 * UsageNotes:
 * 
 * Account can be used to represent the accumulated total of billable amounts
 * for goods or services received, payments made for goods or services, and
 * debit and credit accounts between which financial transactions flow.
 * 
 * 帐户可用于代表累计计费金额为商品或接受服务，商品或服务的付款，借记卡和信用卡账户之间的金融交易流量。
 * 
 * 
 * Examples:
 * 
 * Patient accounts, encounter accounts, cost centers, accounts receivable
 * 
 * 病人账户，遭遇帐户，成本中心，帐户应收款
 * 
 * 
 * @author Obama
 * 
 */
public class Account extends Act {
        

	private static final long serialVersionUID = 1L;
	/**
	 * Definition: The sum total of the debit and credit transactions that have
	 * posted to the account.
	 * 
	 * 对已发布到帐户交易的借方和贷方的总和。
	 * 
	 * 
	 * UsageNotes:
	 * 
	 * The balance of an account will generally be communicated in the currency
	 * identified as the account's currencyCode. However, one MAY communicate
	 * the balance in alternative currencies.
	 * 
	 * 帐户余额一般会在确定的货币帐户的currencyCode沟通。然而，人们可以沟通的替代货币的平衡。
	 */
	private MO balanceAmt;
	/**
	 * Definition: The currency that the account is managed in.
	 * 
	 * 该帐户管理英寸的货币
	 * 
	 * 
	 * UsageNotes:
	 * 
	 * Specific amounts might be reported in another currency, but this
	 * attribute represents the default currency for activity in this account.
	 * 
	 * 报告的具体数额可能在另一种货币，但这个属性代表的活动在此帐户的默认货币。
	 */
	private CD currencyCode;
	/**
	 * Definition: The rate of interest that the account balance may be subject
	 * to.
	 * 
	 * 帐户余额可能会受到利率。
	 * 
	 * 
	 * UsageNotes:
	 * 
	 * This may represent interest charged (e.g., for loans, overdue accounts,
	 * etc.) or credited (investments, etc.) depending on the type of account.
	 * 
	 * 这可能代表收取（例如，贷款，逾期帐款等）或贷记（投资等），根据帐户类型的兴趣。
	 * 
	 * 
	 * Examples:
	 * 
	 * 0.10/1a (10%/year); 0.0005895/1d (.05895%/day)
	 * 
	 * FormalConstraint:
	 * 
	 * Unit of the denominator PQ data type SHALL be comparable to seconds;
	 * i.e., the denominator must be measured in time.
	 * 
	 * 0.10/1a（10％/年）;0.0005895/1d（0.05895％/天）
	 * 
	 * FormalConstraint：
	 * 
	 * 单位分母PQ数据类型的应媲美秒的，即分母必须在时间测量。
	 */
	private RTO interestRateQuantity;
	/**
	 * Definition: An interval describing the minimum and maximum allowed
	 * balances for an account.
	 * 
	 * 描述为一个帐户的最低和最高允许结余的时间间隔。
	 * 
	 * 
	 * UsageNotes:
	 * 
	 * These are not necessarily 'hard' limits (i.e., the account may go above
	 * or below the specified amounts), however, they represent the 'target'
	 * range for the account, and there may be consequences for going outside
	 * the specified boundaries. It is not necessary to specify both upper and
	 * lower limits (or either) for an account.
	 * 
	 * 这些不一定是“硬”限制（即，该帐户可能会高于或低于指定金额），但是，他们所代表的“目标”范围内的帐户，并有可能超出规定的界限的后果。
	 * 这是没有必要指定两个帐户的上限和下限（或一方）。
	 * 
	 * 
	 * Examples:
	 * 
	 * Stop loss limits, credit limits
	 * 
	 * 止损限额，信贷限额
	 */
	private IVL<MO> allowedBalanceQuantity;

	public MO getBalanceAmt() {
		return balanceAmt;
	}

	public void setBalanceAmt(MO balanceAmt) {
		this.balanceAmt = balanceAmt;
	}

	public CD getCurrencyCode() {
		return currencyCode;
	}

	public void setCurrencyCode(CD currencyCode) {
		this.currencyCode = currencyCode;
	}

	public RTO getInterestRateQuantity() {
		return interestRateQuantity;
	}

	public void setInterestRateQuantity(RTO interestRateQuantity) {
		this.interestRateQuantity = interestRateQuantity;
	}

	public IVL<MO> getAllowedBalanceQuantity() {
		return allowedBalanceQuantity;
	}

	public void setAllowedBalanceQuantity(IVL<MO> allowedBalanceQuantity) {
		this.allowedBalanceQuantity = allowedBalanceQuantity;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

}
